/*
		作业：
		1.从键盘接收一个字符串，判断这个字符串是否为回文
		2.字符串压缩 “aaabbccaad”--输出a3b2c2a2d1
	*/
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)
//  :pengyaqin
func main() {
	reader := bufio.NewReader(os.Stdin)
	fmt.Print("请输入一个字符串: ")
	input, _ := reader.ReadString('\n')
	input = input[:len(input)-2] // 移除末尾的换行符
	if len(input) <= 1 {
		fmt.Println("这是一个回文")
	}
	a := ""
	// 使用双指针从两端向中间遍历
	if len(input) != 1 {
		for i, j := 0, len(input)-1; i < j; i, j = i+1, j-1 {
			if input[i] != input[j] {
				a = "不是"
			} else {
				a = "是"
			}
		}
		fmt.Printf("这%s一个回文", a)
	}
	/*法二
	reader := bufio.NewReader(os.Stdin)
	fmt.Print("请输入一个字符串: ")
	input, _ := reader.ReadString('\n')
	input = input[:len(input)-2] // 移除末尾的换行符
	re := ""
	for _, i := range input {
		re = string(i) + re
	}
	//fmt.Println(re)
	if re != input {
		fmt.Println("这不是一个回文")
	} else {
		fmt.Println("这是一个回文")
	}*/
}
////////////////////////////////////////////////////////////////////////////////

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)
//  :pengyaqin
func main() {

	reader := bufio.NewReader(os.Stdin)
	fmt.Print("请输入一个字符串: ")
	input, _ := reader.ReadString('\n')
	input = input[:len(input)-2] // 移除末尾的换行符
	str1 := ""
	for _, i := range input {
		char := string(i)
		if strings.Contains(str1, char) {
			continue
		}
		count := 0
		for _, j := range input {
			if i == j {
				count++
			}
		}
		str1 += string(i) + strconv.Itoa(count)
	}
	fmt.Println(str1)
}	

